from flask import session
from utils import restful
from functools import wraps


'''
    钩子函数，登录验证
    在评论、发表博客之前进行验证
    检查cookie，session
    注意点：
    1、装饰器加上functools，保证被装饰的视图函数的别名不变
    2、flask路由装饰器应该放置在视图函数的最外层
'''


def login_auth(func):
    @wraps(func)
    def wrapper(*args,**kwargs):
        open_id = session.get('open_id')
        if not open_id:
            return restful.unlogin_error()
        else:
            return func(*args, **kwargs)
    return wrapper
